package study.java.jdk.jdk7.s2_switch;

import lombok.extern.slf4j.Slf4j;
import org.junit.Test;

/**
 * 使用 switch case 语句需要注意以下几点
 * （1）case 里面必须跟 break，不然程序会一个个 case 执行下去，直到最后一个 break 的 case 或者 default 出现。
 * （2）case 条件里面只能是常量或者字面常量。
 * （3）default 语句可有可无，最多只能有一个。
 * --------------------------------------------------
 * expression 支持的类型
 * （1）基本数据类型：byte, short, char, int
 * （2）包装数据类型：Byte, Short, Character, Integer
 * （3）枚举类型：Enum
 * （4）字符串类型：String（Jdk 7+ 开始支持）
 */
@Slf4j
public class switch_01_Test {

    @Test
    public void test1() {
        int type = 1;
        switch (type) {
            case 1:
                log.info("1111");
                break;
            case 2:
                log.info("2222");
                break;
            default:
                log.info("aaaaaaaaaaa");
                break;
        }
    }

    @Test
    public void test2() {
        short type = 2;
        switch (type) {
            case 6:
                log.info("1111");
                break;
            case 7:
                log.info("2222");
                break;
            default:
                log.info("aaaaaaaaaaa");
                break;
        }
    }

    @Test
    public void test3() {
        char type = '1';
        switch (type) {
            case '1':
                log.info("1111");
                break;
            case '2':
                log.info("2222");
                break;
            default:
                log.info("aaaaaaaaaaa");
                break;
        }
    }
}
